﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыДеятельностиДляНалоговогоУчетаЗатрат
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"154e545b-a762-44d7-b85a-201f878552d6\", \"Представление\":\"ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД\"}")]
		ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД = 0,//Не ЕНВД (Предпринимательская деятельность, не облагаемая ЕНВД)
		[EnumMember(Value = "{\"Ссылка\":\"c29d2686-6812-496a-a78a-03093d9834f8\", \"Представление\":\"ПредпринимательскаяДеятельностьОблагаемаяЕНВД\"}")]
		ПредпринимательскаяДеятельностьОблагаемаяЕНВД = 1,//ЕНВД (Предпринимательская деятельность, облагаемая ЕНВД)
		[EnumMember(Value = "{\"Ссылка\":\"f44e8601-040c-4cb9-af18-b09b40204cfc\", \"Представление\":\"ДеятельностьВРамкахЦелевогоФинансирования\"}")]
		ДеятельностьВРамкахЦелевогоФинансирования = 2,//АУ (Деятельность в рамках целевого финансирования)
		[EnumMember(Value = "{\"Ссылка\":\"fcf005f1-eb9f-4633-815e-d394a74fc3c3\", \"Представление\":\"ВидДеятельностиОпределяетсяПоДоходам\"}")]
		ВидДеятельностиОпределяетсяПоДоходам = 3,//Определяется пропорционально полученным доходам
	}
	public static partial class ВидыДеятельностиДляНалоговогоУчетаЗатрат_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД = new Guid("1f205ab8-8587-d652-44d7-a762154e545b");//Не ЕНВД (Предпринимательская деятельность, не облагаемая ЕНВД)
		public static readonly Guid ПредпринимательскаяДеятельностьОблагаемаяЕНВД = new Guid("09038aa7-983d-f834-496a-6812c29d2686");//ЕНВД (Предпринимательская деятельность, облагаемая ЕНВД)
		public static readonly Guid ДеятельностьВРамкахЦелевогоФинансирования = new Guid("9bb018af-2040-fc4c-4cb9-040cf44e8601");//АУ (Деятельность в рамках целевого финансирования)
		public static readonly Guid ВидДеятельностиОпределяетсяПоДоходам = new Guid("94d35e81-4fa7-c3c3-4633-eb9ffcf005f1");//Определяется пропорционально полученным доходам
		public static ВидыДеятельностиДляНалоговогоУчетаЗатрат Получить(this ВидыДеятельностиДляНалоговогоУчетаЗатрат Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДеятельностиДляНалоговогоУчетаЗатрат Получить(this ВидыДеятельностиДляНалоговогоУчетаЗатрат Значение, Guid Ссылка)
		{
			if(Ссылка == ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД)
			{
				return ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД;
			}
			else if(Ссылка == ПредпринимательскаяДеятельностьОблагаемаяЕНВД)
			{
				return ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПредпринимательскаяДеятельностьОблагаемаяЕНВД;
			}
			else if(Ссылка == ДеятельностьВРамкахЦелевогоФинансирования)
			{
				return ВидыДеятельностиДляНалоговогоУчетаЗатрат.ДеятельностьВРамкахЦелевогоФинансирования;
			}
			else if(Ссылка == ВидДеятельностиОпределяетсяПоДоходам)
			{
				return ВидыДеятельностиДляНалоговогоУчетаЗатрат.ВидДеятельностиОпределяетсяПоДоходам;
			}
			return ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДеятельностиДляНалоговогоУчетаЗатрат Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДеятельностиДляНалоговогоУчетаЗатрат Значение)
		{
			switch (Значение)
			{
				case ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД: return ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД;
				case ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПредпринимательскаяДеятельностьОблагаемаяЕНВД: return ПредпринимательскаяДеятельностьОблагаемаяЕНВД;
				case ВидыДеятельностиДляНалоговогоУчетаЗатрат.ДеятельностьВРамкахЦелевогоФинансирования: return ДеятельностьВРамкахЦелевогоФинансирования;
				case ВидыДеятельностиДляНалоговогоУчетаЗатрат.ВидДеятельностиОпределяетсяПоДоходам: return ВидДеятельностиОпределяетсяПоДоходам;
			}
			return Guid.Empty;
		}
	}
}